home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 128 25
/
q25.d81
/
t.control80 1
< prev
next >
Wrap
Text File
|
2022-08-28
|
7KB
|
141 lines
*** CONTROL80 V1.21
by Jon Mattson with modifications by ed bell
FENDER'S PREMUMBLE TO ED'S FOREWARD: When ed talks about Control80's
"popularity" he really means my addiction to it. Since I edit every program
that appears on LOADSTAR 128 (usually in an afternoon or night) I tend to
automatically install Control80. It provides the only way I know of to PEEK
and POKE the VDC chip, to save and restore the screen, to install a custom
font, and several other necessary things. ed did a magnificent job of
catering to my addiction and I appreciate it. If you are a programmer you
will immediately recognize the power of MEGaBasic. I hope that you will
take advantge of ed's beyond-the-call-of-duty work and use Control80, too.
If you don't, I'll just have to add it later.
Foreword by e.g.bell
One of the problems with a program like Control80 is its popularity.
Control80 occupies some prime 'real estate' in the Commodore 128. The
wonderful capabilities of the program are such that no one who uses it is
willing to give it up without a fight...even for other very valuable
utilities. I had encountered this reluctance on a previous submission to
LOADSTAR, and again with MEGaBasic, so I decided it was time to address the
situation...to find a way that everyone could use MEGaBasic AND Control80...
benefit from both with minimum of sacrifice by either.
Why do something like this in the first place? There are two reasons I
felt it was needed. First, with Control80 solidly fixed at 4864, it is hard
to develop some types of utilities for that area because users are reluctant
to give up Control80, but this is a LARGE, popular block of RAM.
Second, though programs using Control80 will probably be BLOADing it
prior to use, this can get old when you are writing code and testing your
work as you go along if you want to have all of MEGaBasic's added abilities
AND those of Control80. As a program gets large, you really start to
appreciate FIND and CHANGE utilities, etc..
With the cooperation of Fender Tucker, I acquired the source code for
Control80 and converted it for use with my assembler (EGads). I then
modified it so that it could co-exist with MEGaBasic in spite of the fact
that both programs use the same memory area. The result is MEGaBasic 2.16
with Control80.
*** New Control80 Command
This collective program saw the addition of a new command to each
'member' program. MEGaBasic now has a 'CONTROL' command which installs and
activates Control80. Control80 now has a 'MEGA' command that installs and
activates MEGaBasic.
*** Achilles Heel
The only unfortunate situation in this marriage of these two programs is
that MEGaBasic is not able to recognize the new commands of Control80 in the
program correctly. And since MEGaBasic can only operate when Control80 is
inactive, listing Control80 programs is going to show odd characters where
there are Control80 commands used. If you've ever listed a program with
these commands when Control80 is not active, you will know what I mean. The
commands are still in memory. They just cannot be listed by MEGaBasic. You
won't be able to FIND or CHANGE them either, since they are tokenized and
MEGaBasic only recognizes the standard tokens.
You WILL notice printable characters where these commands are. ***DO
NOT*** try to use MEGaBasic's CHANGE command on them! ***DO NOT*** edit
them or delete them. Control80 uses dual-token keywords for its commands.
Editing these commands with Control80 inactive could remove one part of the
command but not the 'trigger' character that signals dual-tokens to the
C128.
*** Change Of Address
In an update like this, it is almost to be expected that there will be
some casualties in terms of things that were at one location that are now in
another location. I'm wasting this paragraph to tell you that there is no
such thing in the upgraded Control80. All of the POKEs and the routine
address mentioned in the section on MINE below were kept at the same
locations. We aim to please! All existing routines should therefore work
with the upgrade.
*** Found
While under the hood, I saw the opportunity to give you a bit more
control over where drive and printer accesses are directed. As written,
Control80 was limited to drive 8 and printer 4. I made one minor change for
the printer, and provided the POKE address for both. Thus, with a simple
POKE prior to any drive or printer access, you can use any valid number
drive, and either printer 4 or 5. You will have to do the testing to make
sure the device actually exists. I only had so much room with which to
work, which, incidentally, is why I didn't just test for another parameter
in the commands instead of requiring a POKE.
*** Recovered
The version of Control80 I was given would not VSAVE for me. I found
that the original code had a branch to an incorrect address. A very minor
thing that was easily corrected, so if you have not had this command, you
now can enjoy the full Control80 arsenal.
*** Added
The demo utility provided in the C80DEMO file that rotates characters is
definitely interesting. I provided one of my own that will now be resident
until you install a different one. This utility, which runs when you
install/activate Control80, and when you issue the MINE command, brings up a
screen of all of the Control80 commands along with the syntax. This will be
present every time you 'install' or BLOAD this version of Control80. That
way, you have an immediate use of the MINE command as a help utility.
Included in the package is the Control80/MEGaBasic combination, and also
a standalone version of Control80 which can be BLOADed by your BASIC
programs. This mini-version does not support the MEGA command because it
was not installed through MEGaBasic. The standalone version was necessary
due to vector management required for switching back and forth between
MEGaBasic and CONTROL80. Certain things have to be done in one situation,
and must not be done in the other. Everything is handled internally. In
addition, when using the combination program, which installs at 57344 in RAM
1, MEGaBasic protects itself from BASIC variables...so yes, you can use that
version if you prefer by just 'installing' it before running your program
with the CONTROL command.
All of this said, kudos to Jon Mattson for a remarkable utility that
brings such a wealth of power into the reach of everyone so painlessly. I
hope as time goes on that MEGaBasic will become as popular with users as
Control80 has become.
*** Version Number
Note that I changed the Control80 verson number from 1.2 to 1.21.
egb
For the formal documentation to Control80 V1.21 see the text file called
"t.control80 2".
\\\\\ RETURN - Menu \\\\\